home *** CD-ROM | disk | FTP | other *** search
/ 500 MB Nyheder Direkte fra Internet 2 / 500 MB nyheder direkte fra internet CD 2.iso / start / data / text / faq-1043.txt < prev    next >
Text File  |  1995-05-05  |  61KB  |  1,490 lines

  1. Archive-name: object-faq/part9
  2. Last-Modified: 10/27/94
  3. Version: 1.0.7
  4.  
  5. If you find any bugs or make modifications (e.g., ports to other thread
  6. packages) or port it to other systems, then please let me know so I can
  7. keep the sources up-to-date for other users.
  8.  
  9. The package is available via anonymous ftp from arjuna.ncl.ac.uk
  10.  
  11.  
  12. >39  commercial on cd-rom
  13.  
  14. From: jimad@microsoft.com (Jim Adcock)
  15. Subject: Re: Non-defense Ada applications - answering several requests
  16. Date: 11 Jun 93 18:56:55 GMT
  17. Organization: Microsoft Corporation
  18.  
  19.  >...
  20.  
  21. 1) Get a copy of the Computer Select Database.  [I notice the company
  22. is offering free trial copies [the database is CD-ROM based]]
  23.  
  24. 2) Select "Section: Software Product Specifications"
  25.  
  26. 3) Select "Find: C++"
  27.  
  28. Behold!  A list of 734 commercially available software packages written
  29. in C++, including some of the best known names in the software industry.
  30.  
  31.  
  32. >40  C++ Signatures (subtyping)
  33.  
  34. From: gb@cs.purdue.edu (Gerald Baumgartner)
  35. Newsgroups: comp.object,comp.lang.c++
  36. Subject: signature implementation for G++ 2.5.2 and tech report available
  37. Date: 4 Nov 1993 12:03:00 -0500
  38. Organization: Department of Computer Sciences, Purdue University
  39.  
  40. Announcing the paper
  41.  
  42.     Signatures: A C++ Extension for
  43.     Type Abstraction and Subtype Polymorphism
  44.  
  45.     by Gerald Baumgartner and Vincent F. Russo.
  46.     Tech report CSD-TR-93-059, Dept. of Computer
  47.     Sciences, Purdue University, September 1993.
  48.     Submitted to Software Practice & Experience.
  49.  
  50. and a beta release of our implementation of
  51.  
  52.     signatures for GCC 2.5.2.
  53.  
  54.  
  55.  How to Get that Stuff?
  56.  ----------------------
  57.  
  58. You can get both the paper and the implementation by ftp from
  59.  
  60.     host:        ftp.cs.purdue.edu    (128.10.2.1)
  61.  
  62.     login:        anonymous
  63.  
  64.     password:    your e-mail address
  65.  
  66.     directory:    pub/gb
  67.  
  68.     files:        COPYING            Copyright notice.
  69.  
  70.             README            This file.
  71.  
  72.             Signatures.{dvi,ps}.gz    DVI and Postscript versions
  73.                         of the paper.
  74.  
  75.             gcc-2.5.2.sig.diff.gz    Patch to upgrade GCC 2.5.2.
  76.  
  77.             test.tar.gz        Test files and script to run
  78.                         the tests.
  79.  
  80. To make GCC 2.5.2 understand signatures, just copy the context diff
  81. file into the GCC source directory, type
  82.  
  83.     gunzip gcc-2.5.2.sig.diff.gz
  84.     patch < gcc-2.5.2.sig.diff
  85.  
  86. and rebuild and install `gcc,' `cc1plus,' the man pages, and the manual.
  87.  
  88. For compiling C++ code containing signatures, you need to use the
  89. command line option
  90.  
  91.     -fhandle-signatures
  92.  
  93. We tested our extension on Sun 4 only, but since there are no changes
  94. to the compiler backend, it is expected work on other architectures as
  95. well.  To test whether it works on your architecture, unpack the file
  96. `test.tar.gz' and run the shell script
  97.  
  98.     Test
  99.  
  100. It compiles the test programs and runs them.  If everything works
  101. correctly, all the test programs (all 40 of them) should print
  102.  
  103.     Hello World.
  104.  
  105.  
  106.  What are Signatures anyway?
  107.  ---------------------------
  108.  
  109. Roughly, signatures are type abstractions or interfaces of classes.
  110. They are related to ML's signatures, categories in Axiom, definition
  111. modules in Modula-2, interface modules in Modula-3, and types in
  112. POOL-I.
  113.  
  114. The main language constructs added are signatures and signature pointers.
  115. For example, the signature declaration
  116.  
  117.     signature S
  118.     {
  119.       int foo (void);
  120.       int bar (int);
  121.     };
  122.  
  123. defines a new abstract type `S' with member functions `int foo (void)'
  124. and `int bar (int).'  Signature types cannot be instantiated since they
  125. don't provide any implementation.  Only signature pointers and signature
  126. references can be defined.  For example,
  127.  
  128.     C obj;
  129.     S * p = &obj;
  130.  
  131. defines a signature pointer `p' and initializes it to point to an object
  132. of class type `C,' where `C' is required to contain the public member
  133. functions `int foo (void)' and `int bar (int).'  The member function call
  134.  
  135.     int i = p->foo ();
  136.  
  137. executes then `obj.foo ().'
  138.  
  139. Class `C' is called an implementation of the abstract type `S.'  In
  140. this example, we could have made `S' an abstract virtual class and `C' a
  141. subclass of `S,' and we would have had the same effect.  The advantages
  142. of signatures over abstract virtual classes are
  143.  
  144.     - you can build a type hierarchy separate from the class inheritance
  145.       (implementation) hierarchy,
  146.     - subtyping becomes decoupled from inheritance, and
  147.     - signatures can be used with compiled classes, while you cannot
  148.       retrofit an abstract virtual class on top of compiled class
  149.       hierarchies.
  150.  
  151. For more information, please, see the paper.
  152.  
  153.  
  154.  What's Implemented and what's not?
  155.  ----------------------------------
  156.  
  157. Signature declarations and signature pointers are implemented and
  158. working.  For examples of what's working and how to use them you can
  159. have a look at the test files.
  160.  
  161. The following bugs are known:
  162.  
  163.       - The destructor of objects cannot be called though signature pointers.
  164.       - A signature pointer cannot point to an object of a class defined
  165.     by multiple inheritance.
  166.       - The signature conformance check does not work if the signature
  167.     contains other signature declarations or class declarations.
  168.       - Operator and conversion operator member functions of signatures
  169.     can only be called with function call syntax, such as
  170.     `p->operator+(17),' but not with operator or conversion syntax.
  171.  
  172. The following language constructs and features are not yet implemented:
  173.  
  174.       - constants in signatures,
  175.       - signature references,
  176.       - signature inheritance,
  177.       - the `sigof' (signature of a class) construct,
  178.       - views (not even the parsing is done),
  179.       - signature templates, and
  180.       - exception specifications in signature member function declarations.
  181.  
  182. The following optimization is not implemented:
  183.  
  184.       - Looking up a virtual class member function through a signature
  185.     pointer/reference requires double indirection.  This can be optimized
  186.     by memoizing, so that only the first lookup of a member function
  187.     requires double indirection and further lookups require only single
  188.     indirection.
  189.  
  190. The items above are roughly in the order in which they will be implemented.
  191.  
  192. Besides bug fixes, the main features that have been implemented since the
  193. last release are default implementations of signature member functions
  194. and opaque types.
  195.  
  196.  
  197.  Feedback
  198.  --------
  199.  
  200. Please, send your questions, comments, suggestions, and complaints to
  201.  
  202.     gb@cs.purdue.edu
  203.  
  204. --
  205. Gerald Baumgartner
  206. Dept. of Computer Sciences, Purdue University,  W. Lafayette, IN 47907
  207. Internet: gb@cs.purdue.edu, UUCP: ...!{decwrl,gatech,ucbvax}!purdue!gb
  208.  
  209.  
  210. >41 The Texas Persistent Store
  211.  
  212.   The Texas Persistent Store, version 0.1
  213.  
  214. Texas is a simple, portable, high-performance and (best of all) FREE
  215. persistent store for C++ using "pointer swizzling at page fault time"
  216. to translate persistent addresses to hardware-supported virtual addresses.
  217.  
  218. Texas is built on top of a normal virtual memory, and relies on the
  219. underlying virtual memory system for caching.  It uses user-level virtual
  220. memory protections to control the faulting of data from a persistent storage
  221. file into virtual memory.
  222.  
  223. All addresses in a page are translated from a persistent format to
  224. actual virtual addresses when the page is brought into virtual memory,
  225. and subsequent memory references (including pointer traversals) are
  226. just as fast as for non-persistent data.
  227.  
  228. Texas is easy to use, and is implemented as a UNIX library.  It is small
  229. and can be linked into applications.  It requires no special operating 
  230. system privileges, and persistence is orthogonal to type---objects may be 
  231. allocated on either a conventional transient heap, or on the persistent
  232. heap, as desired.
  233.  
  234. Texas supports simple checkpointing of heap data.  A log-structured storage
  235. module is under development, and will provide fast checkpointing of small
  236. transactions.
  237.  
  238. Texas is beta software, and the current prerelease version supports only
  239. simple single-machine operation.  Future releases will support client-server
  240. operation, a flexible access control scheme, and transaction support.
  241.  
  242. Texas currently runs under SunOS and ULTRIX, using Sun CC or GNU C++.
  243. Porting to other modern systems (e.g., OS/2, WNT, Mach) should be easy---it
  244. requires only mprotect(), signal(), and sbrk() calls (or their equivalent)
  245. to control virtual memory protection setting and trap handling.
  246.  
  247. Papers about the pointer swizzling scheme and Texas itself (referenced
  248. below) are available via anonymous ftp from cs.utexas.edu (IP address
  249. 128.83.139.9), as postscript files swizz.ps and texaspstore.ps in the
  250. directory pub/garbage.
  251.  
  252. The source code for Texas is also available, in the directory
  253. pub/garbage/texas.
  254.  
  255. References:
  256.  
  257. Paul R. Wilson and Sheetal V. Kakkad, "Pointer Swizzling at Page Fault
  258. Time: Efficiently and Compatibly Supporting Huge Address Spaces on Standard
  259. Hardware," Proc. Second Int'l. Workshop on Object Orientation in Operating
  260. Systems, Sept. 1992, Dourdan, France, pp. 364--377.
  261.  
  262. Vivek Singhal, Sheetal V. Kakkad, and Paul R. Wilson, "Texas: an Efficient,
  263. Portable Persistent Store", Proc. Fifth Int'l. Workshop on Persistent Object
  264. Systems, Sept. 1992, San Miniato, Italy, pp. 11-33.
  265.  
  266.  
  267. >42 OSE C++lib
  268.  
  269. OSE is a collection of programming tools and class libraries for C++. The
  270. core of the environment is the C++ class libraries, of which three are
  271. provided. These are:
  272.  
  273.   OTCLIB - A library of generic components, including support for error
  274.   handling, error message logging, error recovery, program debugging,
  275.   memory management, resource management, generic collections, text
  276.   manipulation, operating system interfacing and event driven systems.
  277.  
  278.   OUXLIB - A library of components which primarily extends classes in the
  279.   OTCLIB library to support features specific to the UNIX operating
  280.   system.
  281.  
  282.   OTKLIB - A library of components which builds on the OTCLIB and OUXLIB
  283.   libraries to allow integration of the TCL/TK library into applications
  284.   using the event driven systems framework provided by the OTCLIB
  285.   library.
  286.  
  287. The C++ libraries are portable to a wide range of C++ compilers on the UNIX
  288. platform. Supported C++ compilers include those from USL (CFRONT), DEC, HP,
  289. IBM, Lucid, SGI, SUN, CenterLine and ObjectStore, as well as the freely
  290. available GNU C++ compiler. If your C++ compiler does not support
  291. templates, it is possible to use a template preprocessor which is supplied
  292. with OSE. Portability to all the major variants of UNIX has been achieved.
  293. Supported platforms include BSD, HPUX, IRIX, Linux, OSF, SCO, Solaris,
  294. SunOS, SYSV and Ultrix. In addition to being available under UNIX, the
  295. OTCLIB library is portable to DOS and OS/2 using Borland and Watcom C++
  296. compilers.
  297.  
  298. OSE was winner of CODA'94, the ComputerWorld Object Developer Awards which
  299. is held in conjunction with ObjectWorld in Sydney, Australia. The category
  300. in which OSE was a winner was "Best implementation of a reusable development
  301. environment for company deployment".
  302.  
  303. OSE can be obtained via anonymous ftp from:
  304.  
  305.   Europe:
  306.  
  307.     ftp.th-darmstadt.de [130.83.55.75]
  308.     directory pub/programming/languages/C++/class-libraries/OSE
  309.  
  310.   United States
  311.  
  312.     straylight.acs.ncsu.edu [152.1.65.11]
  313.     directory /pub/ose
  314.  
  315.   Australia:
  316.  
  317.     csis.dit.csiro.au [192.41.146.1]
  318.     directory pub/SEG/ose
  319.  
  320. Documentation for OSE is available online via WWW at:
  321.  
  322.   http://www.tansu.com.au/Docs/ose/doc/ose-home.html
  323.  
  324. Questions about OSE can be directed to the author (Graham Dumpleton) at:
  325.  
  326.   ose@nms.otc.com.au
  327.  
  328. A mailing list for discussion of OSE, and a mail server providing a list of
  329. known problems and fixes is also available.
  330.  
  331.  
  332. >43 Traces,kiczales,MOP,DI
  333.  
  334. From: gregor@parc.xerox.com (Gregor Kiczales)
  335. Subject: Re: Dynamic Objects
  336. In-Reply-To: rjh@geodesic.com's message of 25 Aug 93 21:52:56 GMT
  337. Message-ID: <GREGOR.93Sep3093506@calvin.parc.xerox.com>
  338. Organization: Xerox Palo Alto Research Center
  339. References: <16C357BF0.MFARMER@utcvm.utc.edu> <1993Aug25.215256.8031@midway.uchicago.edu>
  340. Date: 3 Sep 93 09:35:06
  341.  
  342. Earlier in this series of messages, Craig Chambers and others mentioned
  343. his ECOOP'93 paper on predicate classes, which provide a powerful handle
  344. on some of the problems that have been mentioned in this series of
  345. messages, specifically, how dynamic changes to an object or its context
  346. can be harnessed to reliably effect the object's (message receipt)
  347. behavior.  As I see it, predicate classes are a key step towards solving
  348. one of the most frustrating problems of OO programming: the struggle
  349. over whether to encode some difference among objects in the value of a
  350. slot (that is one of its parts) or in the object's `method table' (class
  351. or that which it is one-of).
  352.  
  353. A closely related problem, that has also come up in this series of
  354. messages, is how so-called factory objects can dynamically select the
  355. behavior of the objects they create.  We have developed a new OO
  356. language concept called Traces, that can be used to make much more
  357. powerful factory objects, as well as handle some of the things predicate
  358. classes do.  The two ideas are similar in that they both make behavior
  359. selection a much more dynamic phenomena.
  360.  
  361. My ISOTAS'93 paper presents the concept of Traces and shows it
  362. application to some problems.  This paper is available for anonymous FTP
  363. from ftp.parc.xerox.com, in the /pub/mops directory.  The file is
  364. traces.ps.
  365.  
  366. Gregor
  367.  
  368. Following is the abstract from the paper:
  369.   
  370. Object-oriented techniques are a powerful tool for making a system
  371. end-programmer specializable.  But, in cases where the system not only
  372. accepts objects as input, but also creates objects internally,
  373. specialization has been more difficult.  This has been referred to as
  374. the ``make isn't generic problem.''  We present a new \oo{} language
  375. concept, called traces, that we have used successfully to support
  376. specialization in cases that were previously cumbersome.
  377.   
  378. The concept of traces makes a fundamental separation between two kinds
  379. of inheritance in \oo{} languages: inheritance of default implementation
  380. -- an aspect of code sharing; and inheritance of specialization, a
  381. sometimes static, sometimes dynamic phenomenon.
  382.  
  383.  
  384. >44 C++ coding standard
  385.  
  386. From: metz@iam.unibe.ch (Igor Metz)
  387. Subject: Re: C++ coding standard
  388. Organization: Dept. of CS, University of Berne, Switzerland
  389. Date: Tue, 7 Sep 1993 07:08:21 GMT
  390.  
  391. euagate.eua.ericsson.se   (Internet Address: 134.138.134.16)
  392. ~ftp/pub/eua/c++/rules.ps.Z
  393.  
  394. [Also an archive site.  E.g. Coplien includes a dir of C++ examples]
  395.  
  396.  
  397. >45 Kala Archive
  398.  
  399. From: sss@world.std.com (Sergiu S Simmel)
  400. Subject: Kala White Paper now available via anonymous ftp
  401. Message-ID: <CD4MyB.Hsn@world.std.com>
  402. Organization: Penobscot Development Corporation, Cambridge MA
  403. Date: Fri, 10 Sep 1993 07:18:11 GMT
  404.  
  405. An 8-page paper providing an overview of what Kala is and what Kala is
  406. for is now available, in PostScript format, in the Kala Archive. The
  407. file is accessible, via anonymous FTP, at the following location:
  408.  
  409.           anonymous@world.std.com:/pub/kala/TechDocs/Overview.ps
  410.  
  411. The outline is the following
  412.  
  413.         1 What is Kala For?
  414.         2 Software Infrastructure
  415.                 Persistent Data and Persistent Stores
  416.         3 Data Transfer
  417.         4 Data Visibility
  418.                 Changing Visibility
  419.                 Sharing Visibility
  420.                 Transactions
  421.                 Versions
  422.         5 Runtime and Architectural Models
  423.         6 Relationship to Other Technologies
  424.  
  425. This paper is targeted towards those who don't know anything about
  426. Kala and would like to find out a bit in 10 pages or less.
  427.  
  428. Enjoy!
  429.  
  430. P.S. For those of you who do not have FTP access and would like to
  431.      obtain this file, please send a brief e-mail message to
  432.      info@Kala.com, requesting that the file be e-mailed to you.
  433.      Beware that the file is approximately 425Kbytes long (the paper
  434.      contains 13 illustrations!).
  435.  
  436.  
  437. >46 BeBOP(seq,par,LP,OO,meta)
  438.  
  439. From: ad@munta.cs.mu.OZ.AU (Andrew Davison)
  440. Subject: BeBOP v.1.0 Available
  441. Message-ID: <9325614.15552@mulga.cs.mu.OZ.AU>
  442. Organization: Department of Computer Sci, University of Melbourne
  443. Follow-Up: comp.parallel
  444. Date: Mon, 13 Sep 1993 04:08:41 GMT
  445.  
  446.  BeBOP and bp Version 1.0 now available
  447.  ======================================
  448.  
  449.  What is BeBOP?
  450.  ==============
  451. The language BeBOP is a unique combination of sequential 
  452. and parallel Logic Programming (LP), object oriented 
  453. programming and meta-level programming. 
  454.  
  455. The LP component offers both don't know non-determinism
  456. and stream AND-parallelism, a combination not possible 
  457. with concurrent LP languages. 
  458.  
  459. BeBOP's object oriented features include object IDs, 
  460. encapsulation, message passing, state updating, and 
  461. object behaviour modification. 
  462.  
  463. The meta-level capabilities are based on the treatment 
  464. of Prolog theories as first order entities, which 
  465. enables them to be updated easily, and for fragments 
  466. to be passed between objects in messages.
  467.  
  468. BeBOP is implemented by translation down to NU-Prolog,
  469. and its parallel extension, PNU-Prolog. An unusual
  470. aspect of this is the way that object IDs are utilized 
  471. as a communication mechanism between objects.
  472.  
  473.  What is bp?
  474.  ===========
  475. The bp interactive interpreter supports BeBOP programming 
  476. by allowing the flexible invocation of objects, and 
  477. offering the means for setting up communication links 
  478. between objects at any time. An incidental benefit is 
  479. the ability to use `global' variables in queries. Since 
  480. bp is an augmentation of the NU-Prolog np system, objects 
  481. and Prolog goals can be combined, and a by-product is 
  482. that the floundering of Prolog queries is avoided.
  483.  
  484.  
  485.  Where are they?
  486.  ===============
  487. The BeBOP system (BeBOP and bp), and the PNU-Prolog 
  488. preprocessor pnp, can be found at the anonymous ftp 
  489. site munnari.oz.au (128.250.1.21), in the directory 
  490. pub as the file bebop.tar.Z. Remember to use binary 
  491. mode when copying it.
  492.  
  493. The release comes with a user manual, several papers 
  494. (in Postscript format), sample programs, and source code.
  495.  
  496.  
  497.  System requirements
  498.  ===================
  499. The BeBOP system requires the following:
  500.  
  501. * The NU-Prolog system, compiler and interpreter
  502. * The pnp preprocessor 
  503.   (this is included as part of the BeBOP system release)
  504. * GCC or similar compiler
  505. * Yacc (or Bison) and Lex
  506.  
  507.  
  508.  For more details, contact:
  509.  ==========================
  510.         Andrew Davison
  511.         Dept. of Computer Science
  512.         University of Melbourne
  513.         Parkville, Victoria 3052
  514.         Australia
  515.  
  516. Email:  ad@cs.mu.oz.au
  517. Fax:    +61 3 348 1184
  518. Phone:  +61 3 287 9172 / 9101
  519. Telex:  AA 35185
  520.  
  521.  
  522. >47 Knowledge Media, Massive cd-rom, lots of freeware
  523.  
  524. A "Resource Library" of cd-rom discs .  CDs for language/OS, graphics, multi-
  525. media, mega-media (3), and audio.  "Gathered from the resources of the
  526. Internet, CompuServe, Genie, BIX, and other BBS's".  Some shareware.  Should be
  527. available at your local software store.
  528.  
  529. From the back of the Languages CD:
  530.  
  531.   'Over 100 Languages'
  532.         ...
  533.  
  534. This is the largest collection of compilers, interpreters, libraries, and
  535. source code for standard and experimental computer languages and operating
  536. systems ever assembled.  A must for anyone interested in computer programming,
  537. this disc is just right for everyone, whether he or she is a researcher,
  538. student, or an interested hobbist.
  539.  
  540. Knowledge Media Inc.
  541. Paradise, CA  95969 USA
  542.  
  543.  
  544. >48 u++, C++ Trans. and Concry RTS
  545.  
  546. From: nat@nataa.frmug.fr.net (Nat Makarevitch)
  547. Subject: Re: 'Concurrent Objects' - Suggestions needed
  548. Date: 10 Oct 1993 02:41:15 GMT
  549. Organization: LIVIA
  550.  
  551.        u++ - uC++ Translator and Concurrency Runtime System
  552.  
  553. DESCRIPTION
  554. The u++ command introduces  a  translator  pass  over  the
  555. specified source files after the C preprocessor and before
  556. the actual C++ compilation.  The translator converts  sev-
  557. eral  new  uC++  constructs  into C++ statements.  The u++
  558. command also provides  the  runtime  concurrency library,
  559. which must be linked with each uC++ application.
  560.  
  561.                                                                  
  562. REFERENCES                                                       
  563. uC++:  Concurrency in the Object-Oriented Language C++, by      
  564. P.A.  Buhr,  G.  Ditchfield,  R.A.   Stroobosscher,   B.M.
  565. Younger, C.R.  Zarnke;   Software-Practise and Experience,
  566. 22(2):137--172, February 1992.  This paper describes  uC++
  567. v2.0, which has been significantly extended.
  568.  
  569. The  uC++  system is available via anonymous FTP
  570. from watmsg.UWaterloo.ca:pub/uSystem.  A license agreement
  571. is required to use uC++.
  572.  
  573.  
  574. >49 Real Time
  575.  
  576. From: dstewart+@cs.cmu.edu (David B Stewart)
  577. Subject: Re: Object-Oriented Systems and Realtime
  578. Organization: The Robotics Institute, Carnegie Mellon University
  579. Date: Mon, 11 Oct 1993 16:51:19 GMT
  580.  
  581. In article <1993Oct11.082519.23058@cs.tcd.ie>,
  582. Chris Zimmermann <czimmerm@cs.tcd.ie> wrote:
  583. >Hi community:
  584. >
  585. >What is the state of the art concerning real time in 
  586. >object-oriented systems (if any)? By this, I mean the
  587. >marriage of more or less traditional real time systems
  588. >(including systems concerned with "soft" real time aspects
  589. >like multimedia) with the OO paradigm.
  590. >[...]
  591.  
  592. We've done significant work in that area.  Check out the following tech
  593. report:
  594.  
  595. D. B. Stewart, R. A. Volpe, and P. K. Khosla, "Design of Dynamically
  596.     Reconfigurable Real-Time Software using Port-Based Objects," 
  597.     Carnegie Mellon University Tech Report #CMU-RI-TR-93-11, July 1993.
  598.  
  599.     Abstract: The current development of applications for sensor-based
  600.     robotic and automation (R&A) systems is typically a `one-of-a-kind'
  601.     process, where most software is developed from scratch, even though
  602.     much of the code is similar to code written for other applications.
  603.     The cost of these systems can be drastically reduced and the capability
  604.     of these systems improved by providing a suitable software framework
  605.     for all R&A sys tems. We describe a novel software framework, based on
  606.     the notion of dynamically reconfigurable software for sensor-based
  607.     control systems. Tools to support the implementation of this framework
  608.     have been built into the Chimera 3.0 Real-Time Operating System. The
  609.     framework provides for the systematic development and predictable
  610.     execution of flexible R&A applications while maintaining the ability to
  611.     reuse code from previous applications. It combines object-oriented
  612.     design of software with port-automaton design of digital control
  613.     systems. A control module is an instance of a class of port-based
  614.     objects. A task set is formed by integrating objects from a module
  615.     library to form a specific configuration. An implementation using
  616.     global state variables for the automatic integration of port-based
  617.     objects is presented. A control subsystem is a collection of jobs
  618.     which are executed one at a time, and can be programmed by a user.
  619.     Multiple control subsystems can execute in parallel, and operate
  620.     either independently or cooperatively. One of the fundamental concepts
  621.     of reconfigurable software design is that modules are developed
  622.     independent of the target hardware. Our framework defines classes of
  623.     reconfigurable device driver objects for proving hardware independence
  624.     to I/O devices, sensors, actuators, and special purpose processors.
  625.     Hardware independent real-time communication mechanisms for
  626.     inter-subsystem communication are also described. Along with providing
  627.     a foundation for design of dynamically reconfigurable real-time
  628.     software, we are also developing many modules for the control module,
  629.     device driver, and subroutine libraries. As the libraries continue to
  630.     grow, they will form the basis of code that can eventually be used by
  631.     future R&A applications. There will no longer be a need for developing
  632.     software from scratch for new applications, since many required modules
  633.     will already be available in one of the libraries.  
  634.  
  635. This report is available via anonymous FTP as follows:
  636.  
  637.     % ftp IUS4.IUS.CS.CMU.EDU    (128.2.209.143)
  638.     Name:       anonymous
  639.     Password:   yourname@yourmachine
  640.     ftp> binary
  641.     ftp> cd /usr/chimera/public
  642.     ftp> get CMU_RI_TR_93_11.ps.Z
  643.     ftp> quit
  644.     % uncompress CMU_RI_TR_93_11.ps.Z
  645.     % lpr CMU_RI_TR_93_11.ps    (must be a postscript printer)
  646.  
  647. For more information, 'finger chimera@cmu.edu'.
  648.  
  649. >50 Ada-9x (compiler, GNU)
  650.  
  651. From: stt@spock.camb.inmet.com (Tucker Taft)
  652. Subject: Re: which language to use ...?
  653. Organization: Intermetrics, Inc.
  654. Date: Mon, 1 Nov 1993 23:22:42 GMT
  655.  
  656.  >[...]
  657.  
  658. Also, there is a preliminary release of a GNU-GCC-based Ada 9X
  659. compiler available from NYU on cs.nyu.edu in pub/gnat/...
  660. The front end is written in Ada itself; the back end
  661. is the usual GCC back end (enhanced as appropriate).
  662.  
  663. S. Tucker Taft  stt@inmet.com
  664. Intermetrics, Inc.
  665. Cambridge, MA  02138
  666.  
  667.  
  668. >51 OO Course Slides
  669.  
  670. From: wellerd@ajpo.sei.cmu.edu (David Weller)
  671. Subject: Re: Slides on OOP or OMT wanted
  672. Organization: Sigma Software Engineering, Inc.
  673. Date: Fri, 5 Nov 1993 11:01:44 EST
  674.  
  675. In article <2bdot7$3nr@news-rocq.inria.fr> ziane@lolita.inria.fr (Mikal Ziane (Univ. Paris 5 and INRIA) ) writes:
  676. >
  677. >Hello netters,
  678. >
  679. >Is anybody aware of public domain slides available on an ftp site ?
  680. >I'd like slides on OO programming or OO design methods (esp. OMT).
  681. >I know I am crazy to ask for that but someone told me he saw
  682. >a very good C++ course on some ftp site ! (he does not remember which one 
  683. >unfortunatemy)
  684. >
  685.  
  686. It's true!  On WUArchive (wuarchive.wustl.edu) there is a series of
  687. slides developed in Microsoft's PowerPoint.  The course material
  688. includes lesson plans, tests, and workbooks, along with full notes
  689. accompanying each slide.
  690.  
  691. There's one _little_ catch -- it's in the Public Ada Library.  Now,
  692. the OOP course (there's three courses, one on OOD, OOP, and Software
  693. Engineering) covers both C++ and Ada.  It was designed to let the
  694. students work in both languages to get an objective opinion of the
  695. pluses and minuses of each language (gee, what a concept!).
  696.  
  697. The OOD slides do NOT cover OMT.  Some material is used from Booch's
  698. OOD book, but not the notation.  From looking at the slides, it appears
  699. very easy to insert your own notation.  The important part for students
  700. is communicating the concepts, which (for the price) these slides do
  701. a DAMN good job of. <- (Safire's Violation #45: "A perposition is a 
  702. bad thing to end a sentence with." :-)
  703.  
  704. Ah, but WHERE on WUArchive are they?  If you look under 
  705. languages/ada/crsware, I believe you'll find them.  Good luck!
  706.  
  707. dgw
  708. -- 
  709. type My_Disclaimer is new Standard.Disclaimer with record
  710.     AJPO, SEI : Cognizance := Disavow_All_Knowledge;
  711. end record;--)
  712.  
  713.  
  714. >52 GTE Distrib Reports
  715.  
  716. From: em02@gte.com (Emon)
  717. Subject: Reports Available From The Distributed Object Computing Department
  718. Date: 5 Nov 93 18:10:15 GMT
  719. Organization: GTE Laboratories, Inc.
  720.  
  721.                         REPORTS AVAILABLE FROM
  722.              THE DISTRIBUTED OBJECT COMPUTING DEPARTMENT
  723.                      GTE LABORATORIES INCORPORATED
  724.                         40 Sylvan Road, M/S 62
  725.                      Waltham, Massachusetts 02254
  726.  
  727.  
  728. For over six years, the primary focus of the Distributed Object Computing
  729. Department within GTE Laboratories has been the Distributed Object
  730. Management (DOM) project. The DOM project conducts research into
  731. object-oriented technology for integrating heterogeneous, autonomous,
  732. distributed (HAD) computer systems/resources. Major research areas include:
  733. interoperable object models; interoperable, distributed object
  734. architectures; heterogeneous, extended transaction models; and information
  735. requests in HAD environments. We are experimenting in these areas using our
  736. prototype DOM system which we have developed over the past five years. This
  737. technology is based on ideas from a number of technical areas including
  738. distributed, object-oriented, databases, multi-database systems, operating
  739. systems, and programming languages.
  740.  
  741. Permission is granted at this time for the operations and uses listed
  742. below. However, this permission is non-transferable and is subject to
  743. revocation on a report-by-report basis, due to possible copyright transfers
  744. that are normal in the publication process. Any additional copyright
  745. restrictions are noted in the reports themselves. Default permissions are
  746. for anonymous ftp, electronic viewing, and single-copy printing.
  747. Permissible uses are research and browsing. Specifically prohibited are
  748. SALES of any copy, whether electronic or hardcopy, of any of these reports
  749. for any purpose. Also prohibited is copying, excerpting or extensive
  750. quoting of any report in another work without the written permission of one
  751. of the report's authors.
  752.  
  753. Reports marked with a "*" can be retrieved in postscript(ascii) form via
  754. anonymous ftp from ftp.gte.com (132.197.8.2) in the "pub/dom" subdirectory.
  755.  
  756.  >>>>>>>>> 1994
  757.  
  758. [GEOR94a]*   Georgakopoulos, D., M. Rusinkiewicz, and W. Litwin,
  759. "Chronological Scheduling of Transactions with Temporal Dependencies," to
  760. appear in the VLDB journal, January 1994 (submitted in December 1990). 
  761.  
  762. [GEOR94b]*   Georgakopoulos, D., M. Hornick, P. Krychniak, and F. Manola,
  763. "Specification and Management of Extended Transactions in a Programmable
  764. Transaction Environment," to appear in the Proceedings of the 10th
  765. International Conference on Data Engineering, Houston, Texas, February
  766. 1994. Also published as TC-0207-02-93-165, GTE Laboratories Incorporated,
  767. February 1993.
  768.  
  769.  
  770.  >>>>>>>>> 1993
  771.  
  772. [BROD93a]*   Brodie, M.L., "The Promise of Distributed Computing and the
  773. Challenge of Legacy Information Systems," in Hsiao, D., E.J. Neuhold, and
  774. R. Sacks-Davis (eds), Proc. IFIP TC2/WG2.6 Conference on Semantics of
  775. Interoperable Database Systems, Lorne, Australia, November 1992, Elsevier
  776. North Holland, Amsterdam 1993.
  777.  
  778. [BROD93b]*   Brodie, M.L. and M. Stonebraker, "DARWIN: On the Incremental
  779. Migration of Legacy Information Systems," DOM Technical Report,
  780. TR-0222-10-92-165, GTE Laboratories Inc., March 1993.
  781.  
  782. [GEOR93a]*   Georgakopoulos, D., M. Hornick, and P. Krychniak, "An
  783. Environment for Specification and Management of Extended Transactions in
  784. DOMS," to appear in Proceedings of the 3rd International Workshop on
  785. Interoperability in Multidatabase Systems, Vienna, Austria, April 1993.
  786.  
  787. [GEOR93c]*   Georgakopoulos, D., M. Rusinkiewicz and A. Sheth, "Using
  788. Ticket-based Methods to Enforce the Serializability of Multidatabase
  789. Transactions," to appear in the IEEE Transactions on Data and Knowledge
  790. Engineering December 1993 (submitted in February 1992).
  791.  
  792. [GEOR93e]*   Georgakopoulos, D., M. Hornick, F. Manola, M. Brodie, S.
  793. Heiler, F. Nayeri, and B. Hurwitz, "An Extended Transaction Environment for
  794. Workflows in Distributed Object Computing," in IEEE Data Engineering, pp.
  795. 24-27, vol. 16, no. 2, June 1993.
  796.  
  797. [MANO93a]   Manola, F., "The Need for Object Model Interoperability,"
  798. Workshop Report, Workshop on Application Integration Architectures, Dallas,
  799. Texas, February 1993
  800.  
  801. [MANO93c]*   Manola, F. and S. Heiler, "A 'RISC' Object Model for Object
  802. System Interoperation: Concepts and Applications," TR-0231-08-93-165, GTE
  803. Laboratories, Inc., August 1993.
  804.  
  805. [MITC93a]   Mitchell, G., "Extensible Query Processing in an
  806. Object-Oriented Database," PhD Thesis, Brown University Technical Report
  807. No. CS-93-16, May 1993. Available in hard copy from Brown University,
  808. Computer Science Department, and postscript format via anonymous ftp from
  809. wilma.cs.brown.edu as file techreports/93/cs93-16.ps.Z
  810.  
  811. [NAYE93c]*   Nayeri, F., and B. Hurwitz, "Experiments with Dispatching in a
  812. Distributed Object System," GTE Laboratories, Inc., TR-0236-09-93-165, July
  813. 1993.
  814.  
  815. [NAYE93d]*   Nayeri, F., "Addressing Component Interoperability in the OMG
  816. Object Model," position paper submitted to ORB Implementors' Workshop, San
  817. Francisco, June 1993.
  818.  
  819. [NICO93a]   Nicol, J., T. Wilkes, and F. Manola, "Object Orientation in
  820. Heterogeneous Distributed Computing Systems," IEEE Computer, pp. 57-67,
  821. Vol. 26, No.6, June 1993.
  822.  
  823. [VENT93]*   Ventrone, V. and S. Heiler, "Some Practical Advice for Dealing
  824. with Semantic Heterogeneity in Federated Database Systems," Submitted to
  825. USENIX.
  826.  
  827.  
  828.  >>>>>>>>> 1992
  829.  
  830. [BGR92]*   Batra, R., D. Georgakopoulos, and M. Rusinkiewicz, "A
  831. Decentralized Deadlock-free Concurrency Control Method for Multidatabase
  832. Transactions," in Proceedings of 12th International Conference on
  833. Distributed Computing Systems, Yokohama, Japan, June, 1992.
  834.  
  835. [BRO92b]*   Brodie, M.L. and J. Mylopoulos , "Artificial Intelligence and
  836. Databases: Dawn, Midday, or Sunset?," Canadian Information Processing
  837. /Informatique Canadienne, July/August 1992.
  838.  
  839. [BROD92c]*   Brodie, M.L. and S. Ceri, "On Intelligent and Cooperative
  840. Information Systems," in International Journal of Intelligent and
  841. Cooperative Information Systems 1, 2 September 1992. 
  842.  
  843. [BUCH92]   Buchmann, A.P., M.T. Ozsu, M. Hornick, D. Georgakopoulos, F.A.
  844. Manola, "A Transaction Model for Active Distributed Object Systems," in
  845. Database Transaction Models for Advanced Applications, A.K. Elmagarmid,
  846. (ed.), Morgan Kaufmann, San Mateo, CA, Spring 1992.
  847.  
  848. [GEOR92]*   Georgakopoulos, D., "A Framework for Dynamic Specification of
  849. Extended Multidatabase Transactions and Interdatabase Dependencies,"
  850. Proceedings of Third Workshop on Heterogeneous Databases and Semantic
  851. Interoperability, Boulder, February, 1992.
  852.  
  853. [HEIL92]   Heiler, S., S. Haradhvala, B. Blaustein, A. Rosenthal, and S.
  854. Zdonik, "A Flexible Framework for Transaction Management in Engineering
  855. Environments," in Database Transaction Models for Advanced Applications,
  856. A.K. Elmagarmid (ed.), Morgan Kaufmann, San Mateo, CA, Spring 1992.
  857.  
  858. [MANO92]*   Manola, F., S. Heiler, D. Georgakopoulos, M. Hornick, M.
  859. Brodie, "Distributed Object Management," International Journal of
  860. Intelligent and Cooperative Information Systems 1, 1 March 1992.
  861.  
  862. [MANO92a]*   Manola, F. and S. Heiler, "An Approach To Interoperable Object
  863. Models," Proceedings of the International Workshop on Distributed Object
  864. Management, Edmonton, Canada, August 1992 (also in Distributed Object
  865. Management, M.T. Ozsu, U. Dayal, and P. Valduriez (eds.), Morgan Kaufmann,
  866. San Mateo, CA, 1993).
  867.  
  868.  
  869.  >>>>>>>>> 1991
  870.  
  871. [BROD91]   Brodie, M., "Distributed Object Management Research,"
  872. Proceedings of the Second Telecommunications Information Networking
  873. Architecture (TINA) Workshop, pp. 297-303, Chantilly, France, March 1991.
  874.  
  875. [BROD91a]*   Brodie, M. and M. Hornick, "An Interoperability Development
  876. Environment For Intelligent Information Systems," Proceedings of the
  877. International Workshop on the Development of Intelligent Information
  878. Systems, Niagara-on-the-Lake, April 1991.
  879.  
  880. [BUCH91]*   Buchmann, A.P., M. Tamer Ozsu, and D. Georgakopoulos, "Towards
  881. a Transaction Management System for DOM," TR-0146-06-91-165, GTE
  882. Laboratories Incorporated, June 1991.
  883.  
  884. [GEOR91a]*   Georgakopoulos, D., M. Rusinkiewicz, and A. Sheth, "On
  885. Serializability of Multidatabase Transactions Through Forced Local
  886. Conflicts," Proceedings of the 7th International Conference on Data
  887. Engineering, Kobe, Japan, April 1991.
  888.  
  889. [GEOR91b]*   Georgakopoulos, D., "Multidatabase Recoverability and
  890. Recovery," Proceedings of the First International Workshop on
  891. Interoperability in Multidatabase Systems, Kyoto, Japan, April 1991.
  892.  
  893. [GRL91]   Georgakopoulos, D., M. Rusinkiewicz, and W. Litwin,
  894. "Chronological Scheduling of Transactions with Temporal Dependencies," in
  895. the VLDB journal, available draft also as a Technical Report from the
  896. Department of Computer Science at the University of Houston, UH-CS-91-03,
  897. February, 1991.
  898.  
  899. [HEIL91]*   Heiler, S., "Extended Data Type Support in Distributed DBMS
  900. Products: A Technology Assessment and Forecast," TR-170-12-91-165. GTE
  901. Laboratories Incorporated, December 1991.
  902.  
  903. [HORN91]*   Hornick, M.F., J.D. Morrison, and F. Nayeri, "Integrating
  904. Heterogeneous, Autonomous, Distributed Applications Using the DOM
  905. Prototype," TR-0174-12-91-165. GTE Laboratories Incorporated, December
  906. 1991.
  907.  
  908. [MANO91]   Manola, F. and U. Dayal, "An Overview of PDM: An Object-Oriented
  909. Data Model," in K.R. Dittrich, U. Dayal, and A.P. Buchmann (eds.), On
  910. Object-Oriented Database Systems, Springer-Verlag, 1991.
  911.  
  912. [MANO91a]*   Manola, F., "Object Data Language Facilities for Multimedia
  913. Data Types," TR-0169-12-91-165. GTE Laboratories Incorporated, December
  914. 1991.
  915.  
  916. [MANO91b]   Manola, F., "The Third-Generation/OODBMS Manifesto, Commercial
  917. Version," SIGMOD Record, Vol. 20, No. 4, December 1991.
  918.  
  919. [RUSI91]   Rusinkiewicz, M. and D. Georgakopoulos, "Multidatabase
  920. Transactions: Impediments and Opportunities," Compcon Spring '91 Digest of
  921. Papers, San Francisco, February 1991.
  922.  
  923. [VENT91]   Ventrone, V. and S. Heiler, "Semantic Heterogeneity as a Result
  924. of Domain Evaluation," SIGMOD Record Special Issue: Semantic Issues in
  925. Multidatabase Systems, Vol. 20, No. 4, December 1991.
  926.  
  927.  
  928.  >>>>>>>>> 1990
  929.  
  930. [BREI90]   Breitbart, Y., D. Georgakopoulos, and M. Rusinkiewicz, A.
  931. Silberschatz, "Rigorous Scheduling in Multidatabase Systems," Proceedings
  932. of Workshop in Multidatabases and Semantic Interoperability, Tulsa, pp.
  933. 658-667, November 1990.
  934.  
  935. [BROD90]*   Brodie, M.L., F. Bancilhon, C. Harris, M. Kifer, Y. Masunaga,
  936. E.D. Sacerdoti, K. Tanaka, "Next Generation Database Management Systems
  937. Technology," in Deductive and Object-Oriented Databases, W. Kim, J-M
  938. Nicolas, S. Nishio, (eds.), Elsevier Science Publishers, 1990.
  939.  
  940. [HEIL90]   Heiler, S., F. Manola and S. Zdonik, "An Object-Oriented
  941. Database Approach to Federated Systems," (unpublished paper), 1990.
  942.  
  943. [MANO90]   Manola, F., "Object-Oriented Knowledge Bases," AI Expert, 5(3),
  944. 5(4), March and April 1990.
  945.  
  946. [MANO90a]*   Manola, F. and A. Buchmann "A Functional/Relational
  947. Object-Oriented Model for Distributed Object Management: Preliminary
  948. Description" TM-0331-11-90-165. GTE Laboratories Incorporated, December
  949. 1990.
  950.  
  951. [MANO90b]*   Manola, F., M. Hornick, and A. Buchmann "Object Data Model
  952. Facilities for Multimedia Data Types" TM-0332-11-90-165, GTE Laboratories
  953. Incorporated, December 1990.
  954.  
  955. [MYLO90]*   Mylopoulos, J. and M. Brodie, "Knowledge Bases and Databases:
  956. Current Trends and Future Directions," Lecture Notes in Computer Science,
  957. Vol. 474: Information Systems and Artificial Intelligence: Integration
  958. Aspects, D. Karagiannia, (ed.), Springer-Verlag, New York, 1990.
  959.  
  960. [RUSI90]   Rusinkiewicz, M., D. Georgakopoulos, and R. Thomas, "RDS: A
  961. Primitive for the Maintenance of Replicated Data Objects," Proceedings of
  962. Second IEEE Symposium on Parallel and Distributed Processing, Dallas, pp.
  963. 658-667, December 1990.
  964.  
  965. [SILB90]   Silberschatz, A., M. Stonebraker, and J.D. Ullman (eds.), M.L.
  966. Brodie, P. Buneman, M. Carey, A. Chandra, H. Garcia-Molina, J. Gray, R.
  967. Fagin, D. Lomet, D. Maier, M.A. Niemat, A. Silberschatz, M. Stonebraker, I.
  968. Traiger, J. Ullman, G. Wiederhold, C. Zaniolo, and M. Zemankova, P.A.
  969. Bernstein, W. Kim, H.F. Korth, and A. van Tilborg, (co-authors), "Database
  970. Systems: Achievements and Opportunities," ACM SIGMOD Record, 19, 4,
  971. December 1990; also appeared in Communications of the ACM, Vol. 34, No.10,
  972. pp. 110-120, October 1991.
  973.  
  974. [STON90]   Stonebraker, M. , L.A. Rowe, B. Lindsay, J. Gray, M. Carey, M.L.
  975. Brodie, P. Bernstein, and D. Beech, "Third-Generation Data Base System
  976. Manifesto," ACM SIGMOD Recored 19, 3, September 1990.
  977.  
  978. [ZERT90]   Zertuche, D.R. and A.P. Buchmann, "Execution Models for Active
  979. Database Systems: A Comparison," TM-0238-01-90-165, GTE Laboratories
  980. Incorporated, January 1990.
  981.  
  982.  
  983.  >>>>>>>>> 1989
  984.  
  985. [BROD89]   Brodie, M., D. Bobrow, V. Lesser, S. Madnick, D. Tsichritzis,
  986. and C. Hewitt, "Future Artificial Intelligence Requirements for Intelligent
  987. Database Systems" Expert Database Systems: Proceedings From the Second
  988. International Conference, L. Kerschberg (ed.), Benjamin/Cummings, Menlo
  989. Park, CA, 1989.
  990.  
  991. [BROD89a]   Brodie, M. , J. Mylopoulos, "Future Intelligent Information
  992. Systems: AI and Database Technologies Working Together," in M. Brodie, J.
  993. Mylopoulos, (eds. and contributors), Readings in Artificial Intelligence
  994. and Databases, Morgan Kaufmann, San Mateo, CA, 1989.
  995.  
  996. [MANO89]*   Manola, F., "Applications of Object-Oriented Database
  997. Technology in Knowledge-Based Integrated Information Systems," GTE
  998. Laboratories Incorporated, April 1989.
  999.  
  1000. [MANO89a]*   Manola, F., "Object Model Capabilities For Distributed Object
  1001. Management," TM-0149-06-89-165, GTE Laboratories Incorporated, June 1989.
  1002.  
  1003. [MANO89b]*   Manola, F., "An Evaluation of Object-Oriented DBMS
  1004. Developments," TR-0066-10-89-165, GTE Laboratories Incorporated, October
  1005. 1989.
  1006.  
  1007. [WELC89]   Welch, J.L. and A.P. Sistla, "Object-Based Concurrency Control
  1008. and Recovery Mechanisms," TM-0150-06-89-165, GTE Laboratories Incorporated,
  1009. June 1989.
  1010.  
  1011.  
  1012.  >>>>>>>>> 1988
  1013.  
  1014. [MANO88]*   Manola, F., "Distributed Object Management Technology,"
  1015. TM-0014-06-88-165, GTE Laboratories Incorporated, June 1988.
  1016.  
  1017.  
  1018.  >>>>>>>>> 1987
  1019.  
  1020. [MANO87]   Manola, F., "A Personal View of DBMS Security," Database
  1021. Security: Status and Prospects, C.E. Landwehr (ed.), Elsevier Science
  1022. Publishers B.V., North Holland, 1988, 23-34; TN CS1.1, GTE Laboratories
  1023. Incorporated, December 1987.
  1024.  
  1025.  
  1026.  
  1027. _[GEOR94a]* _[GEOR94b]*
  1028. _[BROD93a]* _[BROD93b]* _[GEOR93a]* _[GEOR93c]* _[GEOR93e]*
  1029. _[MANO93a]  _[MANO93c]* _[NAYE93c]* _[NAYE93d]* _[NICO93a] 
  1030. _[VENT93]*
  1031. _[BGR92]    _[BRO92b]*  _[BROD92c]* _[BUCH92]   _[GEOR92]*
  1032. _[HEIL92]   _[MANO92]*  _[MANO92a]* 
  1033. _[BROD91]   _[BROD91a]* _[BUCH91]*  _[GEOR91a]* _[GEOR91b]*
  1034. _[GRL91]    _[HEIL91]*  _[HORN91]*  _[MANO91]   _[MANO91a]* 
  1035. _[MANO91b]  _[RUSI91]   _[VENT91] 
  1036. _[BREI90]   _[BROD90]*  _[HEIL90]   _[MANO90]   _[MANO90a]* 
  1037. _[MANO90b]* _[MYLO90]*  _[RUSI90]   _[SILB90]   _[STON90] 
  1038. _[ZERT90] 
  1039. _[BROD89]   _[BROD89a]  _[MANO89]*  _[MANO89a]* _[MANO89b]*
  1040. _[WELC89] 
  1041. _[MANO88]* 
  1042. _[MANO87]
  1043.  
  1044.  
  1045. >53  KEOBJ, OO DSP micro-kernel
  1046.  
  1047. From: clb@softia.com (Chris Bidaut)
  1048. Subject: Object kernel for DSP & RISC processors
  1049. Date: Mon, 15 Nov 1993 22:48:46
  1050. Organization: Softia, Inc.
  1051.  
  1052. This is an announcement for KEOBJ, an object-oriented micro-kernel for Digital
  1053. Signal Processors (DSP) and RISC processors.  This is also a request for 
  1054. comments from the Internet community. Feedback on the architecture and 
  1055. programming interface will be appreciated and incorporated into the next
  1056. release.
  1057.  
  1058.  
  1059. 1 DESCRIPTION
  1060. -------------
  1061.  
  1062. KEOBJ is an object-oriented micro-kernel optimized for advanced embedded 
  1063. applications, and it particularly targets Digital Signal Processors (DSP) 
  1064. and RISC processors in multimedia environments.
  1065.  
  1066. Its main features are object-orientation, real-time behavior, signal processing
  1067. support, micro-kernel architecture and scalability.
  1068.  
  1069. 1.1 Object-orientation
  1070.  
  1071. The kernel is a collection of system classes exported to the applications
  1072. (e.g Process, Thread, Memory, ...).
  1073. An object name space provides a way to locate any public object (e.g. IPC, 
  1074. memory) using a symbolic path.
  1075. The kernel is written in C++ and is easily portable.
  1076.  
  1077. 1.2 Real-time behavior
  1078.  
  1079. The design stresses fast response time and predictability to qualify for the 
  1080. real-time label. The kernel is reentrant and preeemptable.
  1081.  
  1082. 1.3 Signal processing support
  1083.  
  1084. Besides providing an architecture appropriate for most general purpose 
  1085. applications, the kernel incorporates dedicated features for signal processing
  1086. applications. This includes two phases interrupt processing, time-deadline
  1087. scheduling, Inter Process Communications, multiple memory pools, awareness of
  1088. the constraints due to a single data type (word).
  1089.  
  1090. 1.4 Micro-kernel architecture
  1091.  
  1092. Probably the most important feature of the kernel is the ability to be
  1093. extended at run-time with new services such as devices drivers, public
  1094. classes (IPC, file systems, windowing systems). Applications and system
  1095. services are dynamically loaded by a COFF compatible loader.
  1096.  
  1097. The core kernel is customizable at run-time through a personality mechanism 
  1098. to emulate other environments (Operating systems) or to tailor the processes
  1099. environments. 
  1100.  
  1101. 1.5 Scalability
  1102.  
  1103. The API supports physical and virtual memory organizations with the same 
  1104. semantics.
  1105.  
  1106. Applications source code will be portable across DSP and RISC processors.
  1107.  
  1108. The architecture supports symmetric multiprocessing and distribution (Available
  1109. by mid-1994).
  1110.  
  1111.  
  1112. 2 WHERE TO FIND THE PACKAGE
  1113. ---------------------------
  1114.  
  1115. A set of documentation about KEOBJ is available via anonymous ftp on the 
  1116. following Internet server:
  1117.         netcom.com (192.100.81.100) in file /pub/softia/keobj.zip
  1118.  
  1119.  
  1120. If you do not have access to Internet, contact me for other delivery media at:
  1121. Chris Bidaut            clb@softia.com
  1122. Telephone (408) 262-6520    Fax (408) 262-7210
  1123.  
  1124.  
  1125. >54  MindFrame for Windows
  1126.  
  1127. From: gcl@netcom.com (Geoff Lee)
  1128. Subject: "MindFrame for Windows" (freeware) application is available for ftp
  1129. Date: Tue, 16 Nov 1993 21:07:28 GMT
  1130.  
  1131.     MindFrame for Windows 1.0 Release Note
  1132.     ======================================
  1133.  
  1134. mndframe.zip (MindFrame for Windows) is available for anonymous ftp
  1135. on ftp.cica.indiana.edu. It is currently in /pub/pc/win3/uploads.
  1136.  
  1137. "MindFrame for Windows" is a freeware application developed to
  1138. teach an object modeling approach presented in the
  1139. book: "Object-Oriented GUI Application Development" Geoff Lee,
  1140. Prentice-Hall, 1993, ISBN 0-13-363086-2.
  1141.  
  1142. This application is useful in many other areas as well, for
  1143. example, in Bible studying (metaphors, parables, prophecies,
  1144. types), neural modeling, ecological modeling, and task modeling.
  1145. There are 20 sample applications covering these areas. There
  1146. are also description of each of the sample application in the
  1147. on-line Help. Read "About MindFrame..." help topic for more
  1148. information.
  1149.  
  1150. This is a copyrighted software, but you can freely redistribute if
  1151. you keep the release intact.
  1152.  
  1153. The following is the content of mdnframe.txt file in the .zip file:
  1154.  
  1155. 1. Installation Procedure:
  1156.    DOS> mkdir MndFrame
  1157.    DOS> cd MndFrame
  1158.    DOS> copy b:MndFrame.zip   (or where you kept the mndframe.zip file)
  1159.    DOS> unzip -d mndframe.zip  (extract files into subdirectories)
  1160.    DOS> copy grid.vbx \windows\systems (your local Windows system directory)
  1161.  
  1162. 2. Running the application:
  1163.    . In Windows, open your "File Manager"
  1164.    . Go to \MndFrame directory
  1165.    . Find the MndFrame.exe file
  1166.    . Drag the MndFrame.exe file icon into a "Program Manager" window
  1167.    . Open the MndFrame.exe program
  1168.  
  1169. 3. Sample applications:
  1170.    Once you are in the MindFrame application, open files in the 
  1171.    \MndFrame\Samples subdirectories. There are 20 sample files organized
  1172.    according to areas of application (e.g., object modeling, neural
  1173.    modeling, bible studying). You can also find description of each of
  1174.    these samples in the On-Line Help file.
  1175.  
  1176. 4. On-line help:
  1177.    Use the "About MindFrame..." menu item in the "Help" menu to learn more
  1178.    about this application. There is an on-line help provided for this
  1179.    application. Read through the help topics to learn about using this
  1180.    application.
  1181.  
  1182. 5. Files in this release:
  1183.    mndframe.txt: this file.
  1184.    mdnframe.exe: the executable file of "MindFrame for Windows" freeware.
  1185.    mndframe.hlp: the on-line help file for "MindFrame for Windows".
  1186.    biblnote.ps:  the PostScript file of help text on using this application
  1187.                 to study metaphors, parables, types, and prophecies in the
  1188.                 Holy Bible.
  1189.    grid.vbx:     the visual basic grid control that is necessary to run this
  1190.                 application. It must be copied into your local "system"
  1191.                 directory for Windows (\windows\system in most cases).
  1192.    samples\*:    in this directory, there are 20 samples (*.frm files) in 
  1193.                 the subdirectories for each application area 
  1194.                 (e.g., objmodel, ecology, neural, parable).
  1195.  
  1196. New MindFrame anonymous FTP Directory:
  1197.  
  1198. It has been moved to a more permanent directory: /pub/pc/win3/programr.
  1199.  
  1200. >55  ACE Lib, C++ Networking
  1201.  
  1202. From: schmidt@liege.ics.uci.edu (Douglas C. Schmidt)
  1203. Subject: Re: C++ and Semaphores
  1204. Date: 22 Nov 1993 19:27:00 -0800
  1205. Organization: University of California at Irvine: ICS Dept.
  1206.  
  1207.        THE "ADAPTIVE COMMUNICATION ENVIRONMENT" (ACE) LIBRARY:
  1208.  
  1209.       A Collection of C++ Network Programming Components
  1210.       --------------------------------------------------
  1211.  
  1212.     The ACE library is available for anonymous ftp from the
  1213. ics.uci.edu (128.195.1.1) host in the gnu/C++_wrappers.tar.Z file
  1214. (approximately .4 meg compressed).  This release contains contains the
  1215. source code, documentation, and example test drivers for a number of
  1216. C++ wrapper libraries and higher-level network programming foundation
  1217. classes developed as part of the ADAPTIVE transport system project at
  1218. the University of California, Irvine.
  1219.  
  1220.     . The C++ wrappers encapsulate many of the user-level BSD and
  1221.       System V Release 4 IPC facilities such as sockets, TLI,
  1222.       select and poll, named pipes and STREAM pipes, the mmap
  1223.       family of memory-mapped file commands, System V IPC (i.e.,
  1224.       shared memory, semaphores, message queues), and explicit
  1225.       dynamic linking (e.g., dlopen/dlsym/dlclose) using
  1226.       type-secure, object-oriented interfaces. 
  1227.  
  1228.     . The higher-level network programming foundation classes
  1229.       integrate and enhance the lower-level C++ wrappers to
  1230.       support the configuration of concurrent network daemons
  1231.       composed of monolithic and/or stackable services
  1232.  
  1233.     Many of the C++ wrappers and higher-level components have been
  1234. described in issues of the C++ Report, as well as in the proceedings
  1235. of (1) the 2nd Annual C++ World conference held in Dallas, Texas in
  1236. October, 1993, (2) the 11th Annual Sun Users Group Conference held in
  1237. San Jose, CA in December, 1993, and (3) the 2nd International Workshop
  1238. on Configurable Distributed Systems held at CMU in Pittsburgh, PA in
  1239. March, 1994.  A relatively complete set of documentation and extensive
  1240. examples are included in the release.  A mailing list is available for
  1241. discussing bug fixes, enhancements, and porting issues regarding ACE.
  1242. Please send mail to ace-users-request@ics.uci.edu if you'd like to
  1243. become part of the mailing list.
  1244.  
  1245. CONTENTS OF THE RELEASE
  1246.  
  1247.     The following subdirectories are included in this release:
  1248.  
  1249.     . apps    -- complete applications written using the ACE wrappers
  1250.     . bin      -- utility programs for building this release such as g++dep
  1251.     . build      -- a separate subdirectory that keeps links into the main
  1252.              source tree in order to facilitate multi-platform
  1253.              build-schemes
  1254.     . include -- symbolic links to the include files for the release
  1255.     . lib      -- object archive libraries for each C++ wrapper library
  1256.     . libsrc  -- the source code for the following C++ wrappers:
  1257.             ASX -- higher-level C++ network programming foundation classes
  1258.             Get_Opt -- a C++ version of the UNIX getopt utility
  1259.             IPC_SAP -- wrapper for BSD sockets
  1260.             IPC_SAP_FIFO -- wrapper for FIFOS (named pipes)
  1261.             IPC_SAP_SPIPE -- wrapper for SVR4 STREAM pipes and connld 
  1262.             Log_Msg -- library API for a local/remote logging facility
  1263.             Mem_Map -- wrapper for BSD mmap() memory mapped files 
  1264.             Message_Queues -- wrapper for SysV message queues
  1265.             Reactor -- wrapper for select() and poll()
  1266.             Semaphores -- wrapper for SysV semaphores
  1267.             Server_Daemon -- a wrapper for dynamically linking
  1268.             Shared_Memory -- wrapper for SysV shared memory
  1269.             Shared_Malloc -- wrapper for SysV/BSD shared mallocs
  1270.             TLI_SAP -- wrapper for SVR4 TLI 
  1271.     . tests -- programs that illustrate how to use the various wrappers
  1272.  
  1273.     Please refer to the INSTALL file for information on how to
  1274. build and test the ACE wrappers.  The BIBLIOGRAPHY file contains
  1275. information on where to obtain articles that describe the ACE wrappers
  1276. and the ADAPTIVE system in more detail.
  1277.  
  1278.     Also, please note that there is a companion tar file called
  1279. C++_wrappers_doc.tar.Z, which is approximately 1.5 Meg compressed.
  1280. This file is in the same ftp/gnu directory as the source code
  1281. distribution.  In this file is the following:
  1282.  
  1283.     . doc      -- LaTeX documentation (in both latex and .ps format)
  1284.     . papers  -- postscript versions of various papers describing ACE
  1285.  
  1286. COPYRIGHT INFORMATION
  1287.  
  1288.     You are free to do anything you like with this code.  However,
  1289. you may not do anything to this code that will prevent it from being
  1290. distributed freely in its original form (such as copyrighting it,
  1291. etc.).  Moreover, if you have any improvements, suggestions, and or
  1292. comments, I'd like to hear about it!  It would be great to see this
  1293. distributed evolve into a comprehensive, robust, and well-documented
  1294. C++ class library that would be freely available to everyone.
  1295. Natually, I am not responsible for any problems caused by using these
  1296. C++ wrappers.
  1297.  
  1298.     Thanks,
  1299.     
  1300.         Douglas C. Schmidt
  1301.         (schmidt@ics.uci.edu)
  1302.         Department of Information and Computer Science
  1303.         University of California, Irvine
  1304.         Irvine, CA 92717
  1305.         Work #: (714) 856-4105
  1306.         FAX #: (714) 856-4056
  1307.  
  1308. ACKNOWLEDGEMENTS
  1309.     
  1310.     Special thanks to Paul Stephenson for devising the recursive 
  1311. Makefile scheme that underlies this distribution.  Also thanks to Olaf
  1312. Kruger for explaining how to instantiate templates for shared
  1313. libraries on SunOS 4.
  1314. -- 
  1315. Douglas C. Schmidt
  1316. Department of Information and Computer Science
  1317. University of California, Irvine
  1318. Irvine, CA 92717. Work #: (714) 856-4105; FAX #: (714) 856-4056
  1319.  
  1320.  
  1321. >56  Teaching Intro to OO Slides, T. Budd
  1322.  
  1323. From: budd@daimi.aau.dk (Tim Budd)
  1324. Subject: Re: Slides on OOP or OMT wanted
  1325. Date: 8 Nov 1993 07:46:08 GMT
  1326. Organization: DAIMI, Computer Science Dept. at Aarhus University
  1327.  
  1328. >...
  1329.  
  1330. I also have a series of slides that I have developed for use with my
  1331. text ``an introduction to object-oriented programming'' (timothy budd,
  1332. addison-wesley publishers).  These can be found at cs.orst.edu
  1333. directory pub/budd/oopintro/slides/*, or there is a mail server
  1334. called almanac@cs.orst.edu and if you say
  1335.     send oopintro slides chapter1
  1336. and so on you can get them via e-mail.  Warning, it yields a lot of
  1337. e-mail, so do it one at a time.
  1338. --tim
  1339.  
  1340.  
  1341. >57  Value Dependence Graphs
  1342.  
  1343. From: Michael D. Ernst <mernst@research.microsoft.com>
  1344. Subject:  Value dependence graphs paper available
  1345. Date: Tue, 9 Nov 1993 00:59:36 GMT
  1346.  
  1347. The paper "Value Dependence Graphs: Representation Without Taxation",
  1348. which describes a new intermediate representation which is particularly
  1349. amenable to optimization, is available.  (This version corrects typos and
  1350. clarifies a few minor points that may not have been completely clear in
  1351. the version which will appear in the POPL 94 proceedings.)  You can get a
  1352. copy in three ways:
  1353.  
  1354. 1.  Via anonymous ftp, obtain file research.microsoft.com:/pub/papers/vdg.ps
  1355.     (or file vdg.ps635 if you have a HP LaserJet 4 printer).
  1356. 2.  Reply to mernst@research.microsoft.com requesting PostScript by email,
  1357.     and I will send you the PostScript file of your choice.  (The files are
  1358.     483K and 1018K bytes, respectively.)
  1359. 3.  Reply to mernst@research.microsoft.com sending me your physical mail
  1360.     address, and I will mail you a hardcopy.
  1361.  
  1362. The abstract is:
  1363.  
  1364. The value dependence graph (VDG) is a sparse dataflow-like representation
  1365. that simplifies program analysis and transformation.  It is a functional
  1366. representation that represents control flow as data flow and makes
  1367. explicit all machine quantities, such as stores and I/O channels.  We are
  1368. developing a compiler that builds a VDG representing a program, analyzes
  1369. and transforms the VDG, then produces a control flow graph (CFG) [ASU86]
  1370. from the optimized VDG.  This framework simplifies transformations and
  1371. improves upon several published results.  For example, it enables more
  1372. powerful code motion than [CLZ86, FOW87], eliminates as many redundancies
  1373. as [AWZ88, RWZ88] (except for redundant loops), and provides important
  1374. information to the code scheduler [BR91].  We exhibit a fast, one-pass
  1375. method for elimination of partial redundancies that never performs
  1376. redundant code motion [KRS92, DS93] and is simpler than the classical
  1377. [MR79, Dha91] or SSA [RWZ88] methods.  These results accrue from
  1378. eliminating the CFG from the analysis/transformation phases and using
  1379. demand dependences in preference to control dependences.
  1380.  
  1381. The paper's full citation is:
  1382.  
  1383. @InProceedings{WeiseCES94,
  1384.   author =      "Daniel Weise and Roger F. Crew and Michael Ernst and
  1385.             Bjarne Steensgaard",
  1386.     title =      "Value Dependence Graphs:  Representation Without Taxation",
  1387.     booktitle =     POPL94,
  1388.     pages =      "297-310",
  1389.     year =     1994,
  1390.     month =     jan,
  1391.     address =     "Portland, OR"
  1392. }
  1393.  
  1394. >58  Various on OO
  1395.  
  1396. I think our ftp-site should be mentioned under the PAPERS section of
  1397. appendix E of the comp.object FAQ. There are a number of interesting
  1398. papers about Object-Orientation, in particular about a new object-oriented
  1399. model, called 'Composition Filters'. Here is the uuencoded compressed
  1400. version of a postscript document that contains abstracts of the papers
  1401. which are available via ftp (ftp.cs.utwente.nl - /pub/doc/TRESE) or
  1402. WWW (http://www_trese.cs.utwente.nl - Recent Publications of the TRESE
  1403. project). You may also view this document from our WWW-site.
  1404.  
  1405. Greetings,
  1406.  
  1407. Richard.
  1408. ---
  1409. TRESE project
  1410. Email: stadt@cs.utwente.nl
  1411. TRESE WWW Server: http://www_trese.cs.utwente.nl
  1412.  
  1413. >59  ILU OMG CORBA
  1414.  
  1415. From:    Bill Janssen <janssen@parc.xerox.com>
  1416.  
  1417. ILU is a module system / object RPC system / CORBA implementation for
  1418. programming that supports object interfaces to modules.  It supports
  1419. inter-calling between modules written in different languages
  1420. (currently only C++, C, Modula-3 and Common Lisp are supported), as
  1421. well as inter-calling between modules running in different address
  1422. spaces.  It provides an implementation of object RPC compatible with
  1423. the OMG CORBA 1.2 spec (it will compile OMG IDL and generate OMG
  1424. compliant code for OMG-specified languages), as well as being
  1425. compatible with Sun RPC (existing Sun RPC services can be described as
  1426. ILU modules) and other RPC systems.  It is written in ANSI C, and
  1427. includes a metaobject protocol for configuration and flexibility.  The
  1428. source code is freely available.  More information is available at
  1429. ftp://parcftp.parc.xerox.com/pub/ilu/ilu.html.
  1430.  
  1431. Bill
  1432.  
  1433. >60 Internet Info CDROM, including FAQs
  1434.  
  1435. Walnut Creek CDROM announces the release of the Internet Info CDROM.
  1436. This CDROM contains 12,000 documents about computers and networks:
  1437.  
  1438.         * Answers to Frequently Asked Questions (FAQs).
  1439.         * Internet RFCs and IENs.  
  1440.         * Computer security Documents.  
  1441.         * Internet Network maps.  
  1442.         * Usenet technical discussion Archives.
  1443.         * Ftp sites lists and descriptions of the archives they hold.
  1444.         * Extensive bibliographies and technical book reviews.
  1445.         * documents and standards from IEEE, ISO, NIST, ANSI and others.
  1446.  
  1447. The price is $39.95.  S&H is $5 for US/Canada/Mexico, and $10 for overseas.
  1448. If you live in California, please add sales tax.  You can pay by cash, check,
  1449. money order or Visa/MC/Dis/Amex.  This CDROM is fully guaranteed, if you are
  1450. dissatisfied with this disc for any reason whatsoever, you can return it for
  1451. an exchange or refund.
  1452.  
  1453.         Walnut Creek CDROM
  1454.         1547 Palos Verdes Mall, Suite 260
  1455.         Walnut Creek, CA  94596
  1456.  
  1457.         1 800 786-9907
  1458.         1 510 674-0783
  1459.         1 510 674-0821 FAX
  1460.  
  1461.         orders@cdrom.com
  1462.  
  1463. The disc is available for FREE to anyone that has contributed any of their
  1464. own work.  This includes FAQ maintainers, RFC authors, etc.  Just email me
  1465. your name, address, and the name of the files(s) that you wrote.  Overseas
  1466. addresses are ok.
  1467.  
  1468. If you would like a more detailed list of other CDROM titles published by
  1469. Walnut Creek CDROM, you can ftp the latest list from
  1470. ftp.cdrom.com:/pub/cdrom/catalog, or send email to info@cdrom.com.
  1471.  
  1472. >61  Metrics
  1473.  
  1474. From: dcp@icd.teradyne.com (Dan Proskauer)
  1475. Subject: Re: Wanted: Data on McCabe and Halstead Comple
  1476. Organization: Teradyne, Inc. Boston MA
  1477. Date: Sat, 18 Dec 1993 20:58:33 GMT
  1478.  
  1479.     There is some publically available McCabe and Halstead analysis
  1480. software for C in gatekeeper.dec.com /pub/usenet/com.sources.unix/volume20/metrics.
  1481. I believe there is some explanation of the metrics along with it.  Some other
  1482. references are:
  1483.  
  1484.     The Art of Software Testing, Myers
  1485.  
  1486.     "An Internal Approach to Testing Horizontally Reusable
  1487.      Software", Proceedings of the 5th Annual STC Conference, 93
  1488.         Goldfedder (Overall of where McCabe fits in to A testing
  1489.         process) 
  1490.